x86/cpu: Context switch cpuid masks and faulting state in context_switch()
authorAndrew Cooper <andrew.cooper3@citrix.com>
Thu, 26 Nov 2015 18:36:52 +0000 (18:36 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 8 Apr 2016 20:54:35 +0000 (21:54 +0100)
commit5ab9564c6fa10b878c3404d0725b6f399981e2bf
tree042a41b7cf05e4a9d6113108a0375278e4855bdb
parent3c66c8b048fd68cb6c255f8ab0efc4da06720867
x86/cpu: Context switch cpuid masks and faulting state in context_switch()

A single ctxt_switch_levelling() function pointer is provided
(defaulting to an empty nop), which is overridden in the appropriate
$VENDOR_init_levelling().

set_cpuid_faulting() is made private and included within
intel_ctxt_switch_levelling().

One (attempted) functional change is that the faulting configuration should
not be special cased for dom0.  It turns out that the toolstack relies on the
special case (and indeed, on being a PV domain in the first place) to
correctly build HVM domains.

For now, the control domain is left as a special case, until futher work can
be completed to remove the restriction.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <JBeulich@suse.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
xen/arch/x86/cpu/amd.c
xen/arch/x86/cpu/common.c
xen/arch/x86/cpu/intel.c
xen/arch/x86/crash.c
xen/arch/x86/domain.c
xen/include/asm-x86/processor.h